package com.foreknow.demo15;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

public class ListDemo {
    public static void main(String[] args) {
        //创建List集合容器
        List<String> list = new ArrayList<>();  //<E>表示泛型：约束集合中存放元素的类型
        //向list集合中添加一个元素
        //boolean add(E e)向列表的尾部添加指定的元素（可选操作）。
        list.add("1"); //Integer
        list.add("abc"); //String
        list.add("3.14"); //Double
        list.add("true"); //Boolean
        //E get(int index) 返回列表中指定位置的元素。
        String str =  list.get(1);  //使用泛型的好处是不用强制类型转换
        System.out.println(str);
        System.out.println("-------------------------------------------------");
        //遍历集合、获取集合中的每所有元素
        for(int i = 0;i<list.size();i++) {
            String s = list.get(i);
            System.out.println(s);
        }
        System.out.println("---------------------增强for----------------------------");
        for (String s:list) {
            System.out.println(s);
        }
        System.out.println("---------------------迭代器Iterator----------------------------");
        Iterator<String> it = list.iterator(); //调用list集合中的方法iterator()获取迭代器 Iterator<String>
        while (it.hasNext()) { //it.hasNext()判断是否有下一个元素 如果有就返回true
            String s = it.next(); //指向下一个元素并取到当前这个元素
            System.out.println(s);
        }

    }
}
